#ifndef QTYPEDEF_H_0115
#define QTYPEDEF_H_0115

#define QIN
#define QOUT
#define QINOUT

#define QCHAR	char
#define QWCHAR  wchar_t
#define QBYTE	unsigned char
#define QPBYTE  unsigned char * 
#define QINT	int
#define QSHORT  short
#define QLONG	long
#define QUINT	unsigned int
#define QDWORD	unsigned long 
#define QWORD	unsigned short

#define QVOID	void
#define QBOOL	bool
#define QTRUE	1
#define QFALSE	0
#define QNULL   0
#define QUSHORT unsigned short
#define QDOUBLE	double
#define QFLOAT float


typedef char			        QINT8;
typedef short			        QINT16;
typedef int                     QINT32;
typedef long long            	QINT64; 
typedef unsigned char	        QUINT8;
typedef unsigned short	        QUINT16;
typedef unsigned int            QUINT32;    


#ifdef __SERIES60_3X__
	typedef unsigned long long		QUINT64;
#else 
	#if defined (__WINSCW__)
		typedef __int64		QUINT64;
	#else
		typedef unsigned long long		QUINT64;
	#endif
#endif

#define LPCSTR		const QCHAR *
#define LPSTR		QCHAR *

#define LPCWSTR		const QWCHAR *
#define LPWSTR		QWCHAR *



#ifdef PLATFORM_SYMBIAN
#define QPVOID TAny*
#else
#define QPVOID void*
#endif


#ifdef PLATFORM_SYMBIAN
typedef const QCHAR * LPCTSTR;
#endif

#ifdef __SYMBIAN32__
#define QLPTSTR16 TUint16 *
#define QLPTSTR8  TUint8 *
#endif //__SYMBIAN32__


#define QTRUE    1
#define QFALSE   0
#define QNULL    0


/************************************************************************/
/* rect                                                                 */
/************************************************************************/
typedef struct tagQRect
{
    QINT left;
    QINT top;
    QINT right;
    QINT bottom;
} 	QRECT;

typedef struct tagQRect *PQRECT;
typedef const QRECT *LPCQRECT;


/************************************************************************/
/* point                                                                */
/************************************************************************/
typedef struct tagQPoint
{
    QINT x;
    QINT y;
} 	QPOINT;

typedef struct tagQPoint *PQPOINT;

/************************************************************************/
/* size                                                                 */
/************************************************************************/
typedef struct tagQSize
{
    QINT cx;
    QINT cy;
} 	QSIZE;

typedef struct tagQSize *PQSIZE;

//typedef struct tagQPOINT tagQPoint;
//typedef struct tagQRECT tagQRect;
//typedef struct tagQSIZE tagQSize;


#endif


